The ability to embed invisible information in digital images has gained significant interests in recent years. Embedded data may be used, for example, for copyright control and authentication purposes, and as value-added content in entertainment applications.
Digital image capture devices typically generate image pixels, each of which has a grayscale value that represents one of several available brightness levels. For example, in a device that defines brightness using 8-bit words, each pixel will be capable of displaying one of 256 (28) different levels of output. Unlike digital image capture devices, digital printers typically provide binary output. Accordingly, grayscale input must be converted to binary output patterns that simulate the continuous tone effect, typically using a halftoning process.
In a typical halftoning process, the grayscale value for each pixel is compared to the threshold value found in a corresponding location of a halftone screen and either a 0 or a 1 is assigned to each location depending upon whether the grayscale value exceeds the threshold. Some devices process grayscale input using “stochastic” halftone screens: threshold arrays that produce high spatial frequency, non-periodic binary output. If the spatial frequency is sufficiently high, the human eye will integrate the individual dots into a continuous tone pattern when the image is viewed.
Halftone screen design is a time consuming and complicated process that is a continuous tone pattern when the image is viewed.
Halftone screen design is a time consuming and complicated process that is typically performed during the design of a digital printer. The halftone screen for a particular printer is pre-stored in memory, then retrieved from storage and applied to the image data during halftoning. It is known to create watermark halftone screens that are based upon reference screens for incorporating a specific watermark into image that are processed using the reference screen.
More specifically, a watermark halftone screen is generated by duplicating the reference screen, obtaining the watermark description and modifying the threshold values in locations of the reference screen corresponding to pixels that will incorporate the watermark. In one embodiment, the modified portion of the watermark halftone screen has threshold values that are substantially conjugate to those in the corresponding region of the reference halftone screen, while the remainder of the watermark halftone screen has threshold values that are identical to those in the corresponding locations of the reference halftone screen. The input image is then halftoned using the watermark halftone screen to generate the watermarked image.
Notably, a stochastic watermark halftone screen can only be designed to generate a specific pattern. In other words, a new watermark halftone screen must be designed in order to incorporate a different watermark into the input image. In addition, unless the halftone screen is designed properly, the watermark may become visible. Thus, incorporating invisible watermarks requires the additional step of optimizing the watermark stochastic screen so its threshold values will closely match those of an idealized stochastic screen. Accordingly, printers that are capable of incorporating digital watermarks are often pre-stored with modified versions of the halftone screen that, when applied to the input image, create output-images with embedded watermarks.
In a one-pass system, grayscale image data is generated, processed and rendered in real-time. Accordingly, the complexity of the stochastic screen design process currently makes it impossible to incorporate watermarks in digital images in real-time due. Further, current processes provide watermarks in relatively small sizes, simple shapes and fixed locations.
Accordingly, it would be advantageous to be able to incorporate watermarks in digital image in real-time and to be able to vary the size, shape and location of the watermark without having to redesign the watermark halftone screen.